function [plsi,vli]=vlir2(w,t)
    //plsi=pls;
    plsi=zeros(gsize,H);
    vli=rand(gsize,H+1);
    vlir=vli;
    eq=1;
    //while eq>0
    dth=1;
    ns=0;
    while dth>0 & ns<100
    //for n=1:100
        dth=0;
        for i=1:gsize
            for j=1:H+1
                vlir(i,j)=getmax(i,j,w,vli,t);
                if abs(vlir(i,j)-vli(i,j))>.3
                    dth=1;
                end
            end
        end
        //diff
        vli=vlir
    end
    for i=1:gsize
        for j=1:H
            plsi(i,j)=getact3(i,j,w,vli,t);
        end
    end
endfunction
function a=getact3(s,t,w,x,st)
    if s==1 then
        r=zeros(2,1);
        r(1)=rw(s-1,st+t-1,0,w)+gm*x(s,t+1);//TODO t thingy
        r(2)=rw(s-1,st+t-1,1,w)+gm*x(s+1,t+1);
        [mr,a]=max(r);
        a=a-1;
    elseif s==gsize
        r=zeros(2,1);
        r(1)=rw(s-1,st+t-1,-1,w)+gm*x(s-1,t+1);
        r(2)=rw(s-1,st+t-1,0,w)+gm*x(s,t+1);
        [mr,a]=max(r);
        a=a-2;
    else
        r=zeros(3,1);
        r(1)=rw(s-1,st+t-1,-1,w)+gm*x(s-1,t+1);
        r(2)=rw(s-1,st+t-1,0,w)+gm*x(s,t+1);
        r(3)=rw(s-1,st+t-1,1,w)+gm*x(s+1,t+1);
        [mr,a]=max(r);
        a=a-2;
    end
    //determine best action
endfunction
function res=getmax(s,t,w,vli,st)
    x=zeros(gsize,H+2);
    x(:,1:H+1)=vli;
    if s==1 then
        r=zeros(2,1);
        r(1)=rw(s-1,st+t-1,0,w)+gm*x(s,t+1);//TODO t thingy
        r(2)=rw(s-1,st+t-1,1,w)+gm*x(s+1,t+1);
    elseif s==gsize
        r=zeros(2,1);
        r(1)=rw(s-1,st+t-1,-1,w)+gm*x(s-1,t+1);
        r(2)=rw(s-1,st+t-1,0,w)+gm*x(s,t+1);
    else
        r=zeros(3,1);
        r(1)=rw(s-1,st+t-1,-1,w)+gm*x(s-1,t+1);
        r(2)=rw(s-1,st+t-1,0,w)+gm*x(s,t+1);
        r(3)=rw(s-1,st+t-1,1,w)+gm*x(s+1,t+1);
    end
    res=max(r);
endfunction
